#pragma once

#include "../utils/shader.h"
#include "../render/render.hpp"

namespace qbe::axis {

struct RenderGridModel {
  vsg::ref_ptr<vsg::MatrixTransform> transform;
  vsg::ref_ptr<utils::TempRender::GridNode> grid_node;

  vsg::vec4 m_bg_color{0.0, 0.0, 0.0, 1.0};                      // 背景颜色
  vsg::vec4 m_grid_color{1.0, 1.0, 1.0, 1.0};  // 格点颜色
  std::string m_show_grid_type = "Grid";                         // none:无 Grid:显示网格  lattice:显示点阵

  bool is_init = false;
};
class RenderGridPlugin : public ecs::Plugin {
 public:
  void build(ecs::App& app) override;
};

}  // namespace qbe::layout